package com.tankgame;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Scanner;

/**
 * @author 周超
 * @version 1.0
 */
@SuppressWarnings({"all"})
public class TankGame extends JFrame //JFrame对应的是一个窗口，可以理解为一个画框，
{                                       //面板是需要放在画框里面

    //定义一个面板
    private MyPanel myPanel = null;
    static Scanner scanner = new Scanner(System.in);
    public static void main(String[] args)
    {
        TankGame TankGame = new TankGame();
    }

    public TankGame()
    {
        System.out.println("请输入选择——>新游戏：1    继续上局:2");
        String key = scanner.next();//;"1"

        //初始化面板
        myPanel = new MyPanel(key);

        //在创建MyPanel的地方，启动MyPanel线程
        Thread thread = new Thread(myPanel);
        thread.start();//最终会找到 myPanel的run()方法


        //把我们的面板(游戏的绘图区域)放入到我们的窗口（画框）里面去
        this.add(myPanel);
        //设置窗口大小
        this.setSize(2000,1000);
        //窗口JFrame 对象可以监听键盘事件,即可以监听面板myPanel上发生的键盘事件
        this.addKeyListener(myPanel);
        //当点击弹出窗口的叉号❌时，程序就会退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true); //设置为可以可视化，就会自动调用paint方法

        //在JFrame 中增加相应关闭窗口的处理
        this.addWindowListener(new WindowAdapter()
        {
            @Override
            public void windowClosing(WindowEvent e)
            {
                Recorder.keepRecord();
                System.out.println("您已经成功退出游戏");
                System.exit(0);
            }
        }
        );
    }
}
